import Vue from "vue"
// 引入表单验证的插件和里面的一个Validator对象
import VeeValidate, { Validator } from "vee-validate"
// 引入正则
import { phoneReg, codeReg, pwdReg } from './reg'
Vue.use(VeeValidate)

/* 
// 自定义验证规则，使用Validator对象里面的extend方法
// extend函数的参数：1.自定义规则的名字   2.配置对象
Validator.extend('phone', {
    // 只要输入的内容不符合要求就会执行getMessage函数，生成错误提示对象
    // 参数：1.filed是input中name属性的值
    // 返回值：要生成的错误提示
    getMessage: filed => {
        return 'filed 格式不正确'
    },

    // 只要用户在input框中输入了内容就会执行validate函数，判断输入的内容是否负荷规则
    // 参数：1.value接收到的是input每次输入的内容
    // 返回值：布尔值，符合规则就是true  不符合规则就是false
    validate: value => {
        return phoneReg.test(value)
    }
}) 
*/
// 必填required验证
Validator.extend('required', {
    getMessage: filed => `${filed}必须填写`,
    validate: value => !!value
})

// 手机号验证
Validator.extend('phone', {
    getMessage: filed => '手机号格式不正确',
    validate:value=> phoneReg.test(value)
})

//验证码的验证规则
Validator.extend('code_rule', {
    //验证规则
    validate: value => codeReg.test(value),
    //验证失败的回调
    getMessage: filed => '验证码必须为6位数字！',
});

//密码的验证规则
Validator.extend('pwd_rule', {
    //验证规则
    validate: value => pwdReg.test(value),
    //验证失败的回调
    getMessage: filed => '密码为6到21位英文、数字、下划线',
});

// 确认密码的验证规则
Validator.extend('ispwd', {
    //验证规则
    validate: (value,args) => value === args[0],
    //验证失败的回调
    getMessage: filed => '和登录密码不一致',
})

//协议规则
Validator.extend('isagree', {
    //验证规则
    validate: value => value,
    //验证失败的回调
    getMessage: filed => '协议必须同意！',
})


